package w83a.w83aDAO;

import java.util.ArrayList;
import java.util.List;


import w83a.util.jdbc.W83aDataBase;
import w83a.w83aBeans.W83aUsuarioXLNetsBean;
import w83a.w83aDAO.w83aConstantesBD.W83aDelegacionesBD;
import w83a.w83aDAO.w83aConstantesBD.W83aMunicipioBD;
import w83a.w83aDAO.w83aConstantesBD.W83aUsuariosBD;
import w83a.w83aUtilidadesComunes.W83aClsConstantes;
import w83a.w83aUtilidadesComunes.W83aUtilidadesN38API;


public class W83aComunesDAO implements W83aIComunesDAO {
	/* (non-Javadoc)
	 * @see w83a.w83aDAO.W83aIMantenimientosDAO#buscarAgrupaciones(w83a.w83aBeans.W83aAgrupacionesBean)
	 */
	public java.util.List buscarDatosUsuario(w83a.w83aBeans.W83aUsuarioXLNetsBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83aUsuariosBD.nombre);
		strSql.append(", ");
		strSql.append(W83aUsuariosBD.apellido1);
		strSql.append(", ");
		strSql.append(W83aUsuariosBD.apellido2);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.C_TERRIT_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.CALLE_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.NUM_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.PISO_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.LETRA_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.CP_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.LOCALIDAD_051);
		strSql.append(", ");
		strSql.append(W83aMunicipioBD.nomMunic_Cast);
		strSql.append(" AS TXTCASLOCALIDADMIN , ");
		strSql.append(W83aMunicipioBD.nomMunic_Eusk);
		strSql.append(" AS TXTEUSLOCALIDADMIN");
		strSql.append(", UPPER(");
		strSql.append(W83aMunicipioBD.nomMunic_Cast);
		strSql.append(") AS TXTCASLOCALIDAD , UPPER(");
		strSql.append(W83aMunicipioBD.nomMunic_Eusk);
		strSql.append(") AS TXTEUSLOCALIDAD , ");
		strSql.append(W83aDelegacionesBD.TELEFONO1_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.TELEFONO2_O51);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.FAX_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.REG_MANUAL_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.NUMMOD_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.NUMMODSAL_051);
		
		strSql.append(" FROM w83b.");
		strSql.append(W83aDelegacionesBD.comprobarDatosUsuario);
		strSql.append(" WHERE ");
		strSql.append(W83aUsuariosBD.dni);
		strSql.append(" = ? ");
		
		List lista = new ArrayList();
		
		params.add(param.getDniCompleto());
		lista.add(param);
		lista.add("completo");
		
		List listaUsuarios = W83aDataBase.executeQuery(strSql.toString(),params,W83aUsuarioXLNetsBean.class,param.getUsuarioBean(), lista);
		
		return listaUsuarios;	
	}
	

	/* (non-Javadoc)
	 * @see w83a.w83aDAO.W83aIMantenimientosDAO#buscarAgrupaciones(w83a.w83aBeans.W83aAgrupacionesBean)
	 */
	public java.util.List buscarDatosUsuarioLimitado(w83a.w83aBeans.W83aUsuarioXLNetsBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83aDelegacionesBD.NUMMOD_051);
		strSql.append(", ");
		strSql.append(W83aDelegacionesBD.NUMMODSAL_051);
		
		strSql.append(" FROM ");
		strSql.append(W83aDelegacionesBD.delegacionesView);
		strSql.append(" WHERE ");
		strSql.append(W83aDelegacionesBD.C_TERRIT_051);
		strSql.append(" = ? ");
		params.add(W83aUtilidadesN38API.elegirProvinciaDelegacion(param.getPerfilXLNets()));
		
		List lista = new ArrayList();
		
		lista.add(param);
		lista.add("parcial");
		
		List listaUsuarios = W83aDataBase.executeQuery(strSql.toString(),params,W83aUsuarioXLNetsBean.class,param.getUsuarioBean(), lista);
		
		return listaUsuarios;	
	}
	/* (non-Javadoc)
	 * @see w83a.w83aDAO.W83aIMantenimientosDAO#buscarAgrupaciones(w83a.w83aBeans.W83aAgrupacionesBean)
	 */
	public java.util.List buscarDatosUsuarioLimitadoRegistroAutomat(w83a.w83aBeans.W83aUsuarioXLNetsBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83aDelegacionesBD.REG_MANUAL_051);

		
		strSql.append(" FROM ");
		strSql.append(W83aDelegacionesBD.delegacionesView);
		strSql.append(" WHERE ");
		strSql.append(W83aDelegacionesBD.C_TERRIT_051);
		strSql.append(" = ? ");
		params.add(W83aUtilidadesN38API.elegirProvinciaDelegacion(param.getPerfilXLNets()));
		
		List lista = new ArrayList();
		
		lista.add(param);
		lista.add("parcialRegistroAutomat");
		
		List listaUsuarios = W83aDataBase.executeQuery(strSql.toString(),params,W83aUsuarioXLNetsBean.class,param.getUsuarioBean(), lista);
		
		return listaUsuarios;	
	}
	
}